package com.gqz.equip.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gqz.common.core.domain.RequestForm;
import com.gqz.equip.entity.EnWzEquipLogEntity;
import com.gqz.equip.vo.EnWzEquipLogVo;
import com.gqz.equip.vo.EnWzEquipTaskLogVo;
import com.gqz.equip.vo.StockEquipStatisticsVo;

import java.util.List;


/**
 * 新能源设备信息--盘点工单对应历史记录
 *
 * @Version 1.0
 * @Author input you name
 */
public interface IEnWzEquipLogService extends IService<EnWzEquipLogEntity> {

    /**
     * ͨ��id ��ȡ ��Ϣ新能源设备信息--盘点工单对应历史记录
     *
     * @param id �豸����
     * @return 新能源设备信息--盘点工单对应历史记录
     */
    List<EnWzEquipLogVo> getById(String id);

    /**
     * ��ҳ ��ȡ ��Ϣ 新能源设备信息--盘点工单对应历史记录
     *
     * @param requestForm ��ѯ��body
     * @return page 新能源设备信息--盘点工单对应历史记录
     */
    Page<EnWzEquipLogVo> page(RequestForm<EnWzEquipLogVo> requestForm);

    /**
     * ��ҳ ��ȡ ����新能源设备信息--盘点工单对应历史记录
     *
     * @param requestForm ��ѯ��body
     * @return page 新能源设备信息--盘点工单对应历史记录
     */
    Long count(RequestForm<EnWzEquipLogVo> requestForm);

    /**
     * ������¼
     *
     * @param forms ��¼����
     * @return Ӱ�������num
     */
    int insert(List<EnWzEquipLogVo> forms);

    /**
     * �޸ļ�¼
     *
     * @param forms ��¼����
     * @return Ӱ�������num
     */
    int update(List<EnWzEquipLogVo> forms);

    /**
     * app提交操作时保存库房设备历史记录
     *
     * @param stockNo 库房编号
     * @param taskNo  盘点工单编号
     */
    void insertEquipLog(String stockNo, String taskNo);

    /**
     * 根据任务编码获取设备匹配列表
     *
     * @param requestForm 参数
     * @return
     */
    Page<EnWzEquipLogVo> getTaskEquipMatchList(RequestForm<StockEquipStatisticsVo> requestForm);

    /**
     * 根据任务编码获取设备差异列表
     *
     * @param vo 参数
     * @return
     */
    List<EnWzEquipTaskLogVo> getTaskEquipDiffList(StockEquipStatisticsVo vo);
}
